The access of data on contemporary DASD units, such as disk files, has been accomplished through the use of a set of commands which direct the device to proceed to a specific geometric location and then process selected units of data found at that location. More specifically for example, in the IBM System/360 and System/370 CPU's, a CPU issues a series of commands, identified in 360/370 architecture as Channel Command Words (CCW's), which control the operation of the associated DASD.
The transfer of data between a 360/370 CPU and the accessed locations of DAS devices utilizes a physical path connection involving a channel, a DAS control device or unit communicating with the channel on one side in an asynchronous relationship and selected DAS devices on the other side. The operating system of the CPU initiates the transfer by a START I/O instruction, causing control to be relinquished to a series of CCW's. A sequence or chain of CCW's is then sent from the CPU over the channel to the control device for selecting and accessing the storage device as well as effectuating the data movement across the interface.
Further information about this type of operation between a channel and control unit is contained in the publication "IBM System 360 and System 370 I/O Interface Channel to Control Unit, Original Equipment Manufacturer's Information", IBM Publication No. GA22-6974.
Each CCW is separately resident in the CPU main store and must be fetched therefrom by the channel program, decoded and transmitted to the control function for execution on the DASD. Each connection between the CPU and channel consumes time, referred to as channel turn-around time, and the cumulative turn-around time for a string of CCW's such as identified above can be a significant factor in the operation of the overall system. As the rate at which DAS devices are capable of transmitting data increases, the channel turn-around of transmitting data increases, the channel turn-around time becomes a factor limiting the effective data transfer rate between the CPU and the DASD.
A number of CCW's involve disconnection of the DAS device from the control device during their execution. Such commands generally are of the type which involve mechanical motion of the DAS device, and the control device disconnects from the DAS device during this motion period so as to free the control device for performing tasks with other DAS devices. One of such commands is the SEEK command, in which the DAS device is directed to position a specific one of its magnetic transducers over a specific track or cylinder of the device. Unless the actuator is already positioned over the desired cylinder, a SEEK command requires mechanical motion of the device actuator to reach the designated cylinder. Heretofore, a SEEK command was executed by initiating the required actuator motion and then having the control device disconnect from the DAS device while the actuator was moving to its new position. When the actuator reached the required cylinder, the DAS device signalled the control device, requesting reconnection. Upon reconnection, the DAS subsystem was prepared to receive and execute another CCW. A common CCW which might follow at some time after a SEEK command is the command SET SECTOR. This command, utilized on DAS devices equipped with the Rotational Position Sensing feature, involves obtaining from CPU main storage the number of the disk sector which is closely adjacent to the sector location of the desired data, transferring this information to the DAS device, and then disconnecting the control device from the DAS device while waiting for the desired sector on the disk to approach the read/write position. The control device, of course, is free to perform tasks with other DAS devices during this latency period for the DAS device.
The delays created by the necessity to wait for the mechanical motion to be completed in executing these two commands represents a substantial portion of the total time required to execute many command chains.
The prior art includes U.S. Pat. No. 3,480,917, Day; U.S. Pat. No. 3,936,804, Bachman; U.S. Pat. No. 3,956,738, Tessera; and the IBM 3850 Mass Storage System.
The Day patent treats the problem of overlap processing using facilitated or prefetched transfers. Bachman and Tessera illustrate the diversity of overlap processing as between two instructions (Tessera) and in the combining of a data transformation with a MOVE instruction (Bachman). In substance, the prior art teaches, notwithstanding the pattern of overlap, that the prefetching of data across a channel interface involves taking the data elements of the response in sequence and operating upon them. In contrast, in this invention the method involves taking a selective type of CCW out of sequence order and deferring its execution until receipt of a second predetermined type of subsequent CCW.
The IBM 3850 Mass Storage System queues CCW's for different device addresses, but with no more than one CCW queued per device. Thus, the IBM 3850 Mass Storage System does not queue CCW's for a device in order to perform later execution out of normal sequence for the same device address as is the case in this invention.